﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Sauces.Bussinees.Entities.Almacen;
using Sauces.Repository.Almacen;
using Sauces.Repository.Almacen.Service;
using Sauces.Bussinees.Logic.Service;
using Microsoft.Practices.Unity;

namespace Sauces.Bussinees.Logic
{
   public  class ProductoService:IProductoService
    {

       [Dependency]
        public IProductoRepository  productoRepository { get; set; }

        public List<Producto> getAllProducto()
        {
            return productoRepository.getAllProducto();
        }

        public List<Producto> getAllProductoByNombre(string nombre)
        {
            return productoRepository.getAllProductoByNombre(nombre);
        }

        public Producto getFromProductoById(int id)
        {
            return productoRepository.getFromProductoById(id);
        }

        public void addProducto(Producto producto)
        {
             productoRepository.addProducto(producto);
        }

        public void upDateProducto(Producto producto)
        {
            productoRepository.upDateProducto(producto);
        }

        public void removeProducto(int id)
        {
            productoRepository.removeProducto(id);
        }


        public List<Producto> getAllProductoByProveedorAndProductoNombre(string ruc, string nombreP)
        {
            return productoRepository.getAllProductoByProveedorAndProductoNombre(ruc, nombreP);
        }



        public List<Producto> getAllProductoByCategoriaAndNombreProducto(int? categoria, string nombreP)
        {
            return productoRepository.getAllProductoByCategoriaAndNombreProducto(categoria, nombreP);
        }
    }
}
